package com.lxq.cloud.ai.service;

import org.springframework.ai.image.*;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.stereotype.Service;

@Service
public class ImagesServiceImpl implements ImagesService, ApplicationRunner {


    // 图像生成客户端
    private final ImageModel imageModel;

    ImagesServiceImpl(ImageModel imageModel) {
        this.imageModel = imageModel;
    }


    @Override
    public ImageResponse genImg(String imgPrompt) {
        //模型版本  模型名称  模型简介
        // 通义万相文生图2.1  wanx2.1-t2i-turbo  生成速度更快，通用生成模型。
        // 通义万相文生图2.1  wanx2.1-t2i-plus  生成图像细节更丰富，速度稍慢，通用生成模型。
        // 通义万相文生图2.0  wanx2.0-t2i-turbo  擅长质感人像与创意设计，速度中等，性价比高。
        ImageOptions options = ImageOptionsBuilder.builder().model("wanx2.1-t2i-plus").build();
        ImagePrompt imagePrompt = new ImagePrompt(imgPrompt, options);
        ImageResponse response = imageModel.call(imagePrompt);
        return response;
    }


    @Override
    public void run(ApplicationArguments args) throws Exception {

    }
}